Редактирование персонального лимита сотрудника

Запрос позволяет изменить персональный лимит сотрудника.

Синтаксис запроса

PUT https://b2b-api.go.yandex.ru/integration/2.0/limits/personal?user_id={id сотрудника}

Заголовки запроса

  • Authorization: Bearer <OAuth-токен>
    Процесс получения токена описан в разделе Начало работы.
  • X-YaTaxi-Selected-Corp-Client-Id — ID клиента из Личного кабинета. Обязателен, если по токену доступно несколько клиентов.

Параметры запроса

Запрос содержит следующий параметр:

  • user_id — идентификатор пользователя (сотрудника).

Тело запроса

Важно

В данном запросе необходимо тело (body) запроса!

Данные передаются в теле запроса в формате JSON:

Поле

Описание

Формат

Обязательность

title

Название лимита.

Строка

Да

client_id

Идентификатор клиента (кабинета).

Строка

Да

service

Сервис, к которому относится лимит.

Строка

Да

сategories

Указывается только для сервиса taxi. Список доступных тарифных категорий. Каждая категория приводится отдельно в кавычках через запятую. Доступные категории:

  • lite_b2b;

  • standart_b2b;

  • optimum_b2b;

  • vip;

  • maybach;

  • ultimate;

  • minivan;

  • premium_van;

  • child_tariff.

Строка

Да

limits

Указывается только для сервиса taxi. Содержит параметры orders_cost и orders_amount.

Объект

Нет

Структура элемента массива limits:

Поле

Описание

Формат

orders_cost

Ограничение на сумму, которую клиент может потратить за период. Объект со структурой {"value": <число>, "period": <период>, "kind": <мера измерения>}.
Период задается в виде строки: "day" или "week" или "month" .
"kind" указывается только для заправок, задается в виде строки: "money" или "volume".

Строка

orders_amount

Указывается только для сервиса taxi. Ограничение на число поездок, которые клиент может совершить за период.
Объект со структурой {"value": <число>, "period": <период>}.
Период задается в виде строки: "day" или "week" или "month".

Строка

Дополнительные элементы тела запроса (body):

Поле

Описание

Формат

time_restrictions

Блок с информацией о временных ограничениях.

Массив объектов

geo_restrictions

Указывается только для сервисов taxi, eats2, tanker. Блок с информацией о гео ограничениях.

Массив объектов

is_qr_enabled

Указывается только для сервиса eats2. Разрешена ли оплата по QR в вендоматах.

Логическое

fuel_types

Указывается только для сервиса tanker. Список доступных видов топлива. Формат списка: "вид1","вид2",...

Массив строк

cities

Указывается только для сервиса drive. Список доступных городов.

Массив

tariffs

Указывается только для сервиса drive. Список доступных тарифов.

Массив

car_classes

Указывается только для сервиса drive. Список доступных классов машин.

Массив

enable_toll_roads

Указывается только для сервиса drive. Доступны ли пользователю платные дороги.

Логическое

Структура элемента массива time_restrictions:

Поле

Описание

Формат

type

Тип ограничения. Возможные значения:

  • weekly_date — ограничения по дням недели.
  • range_date — ограничения по дате. Указывается только для сервисовtaxi, eats2, tanker.

Строка

start_date

Дата, начиная с которой будет доступен заказ. Формат значений: ГГГГ-ММ-ДДTЧЧ:ММ:СС.
Поле используется только для ограничения с типом range_date.

Строка

end_date

Дата, после которой будет доступен заказ. Формат значений: ГГГГ-ММ-ДДTЧЧ:ММ:СС.
Поле используется только для ограничения с типом range_date.

Строка

start_time

Время, начиная с которого будет доступен заказ. Формат значений: ЧЧ:ММ:СС.
Поле используется только для ограничения с типом weekly_date.

Строка

end_time

Время, до которого будет доступен заказ. Формат значений: ЧЧ:ММ:СС.
Поле используется только для ограничения с типом weekly_date.

Строка

days

Дни недели, в которые доступен заказ поездки. Возможные значения:

  • mo — понедельник.
  • tu — вторник.
  • we — среда.
  • th — четверг.
  • fr — пятница.
  • sa — суббота.
  • su — воскресенье.
    Поле используется только для ограничения с типом weekly_date.

Массив строк

Структура элемента массива geo_restrictions:

Поле

Описание

Формат

source

Идентификатор района начала поездки. Если поле не задано, то разрешен любой район. Должно быть задано хотя бы одно из полей source и destination.

Строка

destination

Идентификатор района конца поездки. Если поле не задано, то разрешен любой район. Должно быть задано хотя бы одно из полей source и destination.

Строка

prohibiting_restriction

Используется, чтобы запретить ехать в конкретную точку или из конкретной точки. Если имеет значение true, то поля source и destination недоступны для заказа зоны.

Логическое

Пример запроса

PUT https://b2b-api.go.yandex.ru/integration/2.0/limits/personal?user_id=f1387…5e179
...
Authorization: Bearer <OAuth-token>
X-YaTaxi-Selected-Corp-Client-Id: <client-id>

    { 
        примеры тела запроса см. ниже
    }

Пример тела (body) запроса для задания лимита для сервиса Такси:

{
    "title": "Название лимита",
    "client_id": "id клиента",
    "service": "taxi",
    "categories": [
        "child_tariff",
        "cargo",
        "business",
        "courier",
        "express",
        "premium_van",
        "comfortplus",
        "ultimate",
        "minivan",
        "vip",
        "maybach",
        "econom"
    ],
    "limits": {
        "orders_cost": { 
            "value": "818181", 
            "period": "month"
        }, 
        "orders_amount": {
            "value": 2,
            "period": "day"
        }
    },
    "time_restrictions": [
        {
            "type": "range_date",
            "start_date": "2022-09-02T00:00:00",
            "end_date": "2022-09-14T00:00:00"
        },
        {
            "type": "weekly_date",
            "start_time": "00:00:00",
            "end_time": "23:59:00",
            "days": ["fr", "mo", "th", "tu", "we"]
        }
    ],
    "geo_restrictions": [
        {
            "source": "e87d178829b24d20b9eba262da5eb966",
            "destination": "3ff4d32ef1074d4ca33c1db61047e06f",
            "prohibiting_restriction": true
        }
    ] 
}

Пример тела (body) запроса для задания лимита для сервисов Еда и Лавка:

{
    "title": "Название лимита",
    "client_id": "id клиента",
    "service": "eats2",
    "limits": {
        "orders_cost": { 
            "value": "818181", 
            "period": "month"
        }
    },
    "time_restrictions": [
        {
            "type": "range_date",
            "start_date": "2022-09-02T00:00:00",
            "end_date": "2022-09-14T00:00:00"
        },
        {
            "type": "weekly_date",
            "start_time": "00:00:00",
            "end_time": "23:59:00",
            "days": ["fr", "mo", "th", "tu", "we"]
        }
    ],
    "geo_restrictions": [
        {
            "destination": "e87d178829b24d20b9eba262da5eb966",
            "prohibiting_restriction": false
            }
    ],
    "is_qr_enabled": true
}

Пример тела (body) запроса для задания лимита для сервиса Драйв:

{
    "title": "Название лимита",
    "client_id": "id клиента",
    "service": "drive",
    "limits": {
        "orders_cost": { 
            "value": "818181", 
            "period": "month"
        }
    },
    "time_restrictions": [
        {
            "type": "weekly_date",
            "start_time": "00:00:00",
            "end_time": "23:59:00",
            "days": ["fr", "mo", "th", "tu", "we"]
        }
    ],
    "cities": ["kzn", "msk", "spb", "sochi"],
    "tariffs": ["standart_offer", "fix_offer_regular", "hourly_offer","daily_offer", "flexible_pack_offer, intercity_offer", "pack_offer"],
    "cars_classes": ["everyday", "everydayplus", "holiday", "cargo", "shuttle"],
    "enable_toll_roads": "true" 
}

Пример тела (body) запроса для задания лимита для сервиса Заправки:

{
    "title": "Название лимита",
    "client_id": "id клиента",
    "service": "tanker",
    "limits": {
        "orders_cost": { 
            "value": "818181", 
            "period": "month",
            "kind": "money"
        }
    },
    "time_restrictions": [
        {
            "type": "range_date",
            "start_date": "2022-09-02T00:00:00",
            "end_date": "2022-09-14T00:00:00"
        },
        {
            "type": "weekly_date",
            "start_time": "00:00:00",
            "end_time": "23:59:00",
            "days": ["fr", "mo", "th", "tu", "we"]
        }
    ],
    "geo_restrictions": [
        {
            "source": "e87d178829b24d20b9eba262da5eb966",
            "destination": "3ff4d32ef1074d4ca33c1db61047e06f",
            "prohibiting_restriction": false
        }
    ],
    "fuel_types": [
        "carwash",
        "a80",
        "a92",
        "a95",
        "a98",
        "a100",
        "a92_premium",
        "a95_premium",
        "a98_premium",
        "a100_premium",
        "diesel",
        "diesel_winter",
        "diesel_demiseason",
        "diesel_premium",
        "metan",
        "propane",
        "icefree"
    ] 
}

Пример ответа

Пример ответа на данный запрос выглядит следующим образом:

{
    "id": "3caa...3b05e"
}

Возможные коды ответа

Ответ на данный запрос может содержать следующие стандартные HTTP-коды:

  • 200 — запрос выполнен успешно.
  • 400 — в запросе был передан неизвестный параметр или параметр с недопустимым значением.
  • 401 — был передан неверный OAuth-токен.
  • 403 — у клиента не хватает прав на выполнение данного запроса.
    • SELECT_CLIENT_HEADER_REQUIRED: в запросе не передан заголовок X-YaTaxi-Selected-Corp-Client-Id (возвращается в случае, если для токена доступно более одного клиента).
    • SELECTED_CLIENT_ACCESS_DENIED: в заголовке X-YaTaxi-Selected-Corp-Client-Id передан ID клиента, к которому нет доступа у этого логина.